package com.richard.room.operator.api.type;

/**
 * @author: Richard
 * @createDate: 2023/8/17 14:46
 * @version: 1.0
 * @description: sql 函数类型
 */
public enum FuncType {

    count,//计算一个数据库表中的行数
    max,//获取某列最大值
    min,//获取某列最小值
    avg,//获取某列平均值
    sum,//获取某列总和值
    abs,//返回参数的绝对值
    upper,//把字符串转换为大写字母
    lower,//把字符串转换为小写字母
    length,//返回字符串的长度
    strFTime,//格式化时间戳或时间串(自定义格式)
    dateTime,//时间戳转换时间为yyyy-MM-dd HH:mm:ss格式
    date,//时间戳转换时间为yyyy-MM-dd格式
    time,//时间戳转换时间为HH:mm:ss格式
    ifNull,//ifnull(x,y)返回第一个非空参数的副本。若两个参数均为NULL，返回NULL。
    round,//round(X)或round(X,Y) 将X四舍五入，保留小数点后Y位。若忽略Y参数，则默认其为0。
    subStr,//substr(X,Y,Z) 返回输入字符串X中以第Y个字符开始，Z个字符长的子串。X最左端的字符序号为1。若Y为负，则从右至左数起。
    replace,//replace(X,Y,Z)　将字符串类型的函数参数X中所有子字符串Y替换为字符串Z，最后返回替换后的字符串，源字符串X保持不变。
    trim,//去掉首位空格
    lTrim,//ltrim(x[,y])如果没有可选参数Y，该函数将移除参数X左侧的所有空格符。如果有参数Y，则移除X左侧的任意在Y中出现的字符。最后返回移除后的字符串。
    rTrim,//rtrim(x[,y])如果没有可选参数Y，该函数将移除参数X右侧的所有空格符。如果有参数Y，则移除X右侧的任意在Y中出现的字符。最后返回移除后的字符串。
    ;

}
